<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- <script>
        //编译原理 操作系统    编译 运行
        // 冯诺依曼  
        // 文件 -》 内存 调度者 浏览器 进程 硬盘到内存的
        // 简单数据类型内存分配
        // var  a = 1;   //从文件来到内存 cpu &a 
        // var  b = a;   //分配简单的空间
        // const c = 2;
        // b = 2;


        //对象空间是对立的   o  拿到的是 地址的引用
        // 看过去和实际运行的不一样    
        // var o = {name : "钟萍"};
        // console.log(o);
        // var d = o;
        // d.name= "腾讯萍";
        // console.log(o,d);



        // console.log(a,b)

        var obj ={
            // function 空间分配呢？
            // 函数 功能的封装  10行  this
            // 内部还要分配空间 堆
            foo: function(){
                // this? 是在函数运行时决定的
                // 函数的运行一定要在上下文环境下
                console.log(this.bar)
            },
            bar: 1
        }
        // 不同的引用方式，带来不同的结果
        var bar = 2;
        var foo = obj.foo; // 函数的地址引用 &
        foo(); //2 全局 this 全局
        obj.foo();  //1  context 对象 对象本身 

    </script>-->
    <script src="./1.js"></script>
</body>
</html>